package com.smartleanx.module.hrm.controller.admin.examine.examinSon.vo;

import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.smartleanx.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static com.smartleanx.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 考核计划分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ExaminePageReqVO extends PageParam {

    @Schema(description = "考核方案名称", example = "张三")
    private String examinePlanName;

    @Schema(description = "考核范围")
    private String examineRange;

    @Schema(description = "考核范围1部门/人员 2岗位", example = "1")
    private Integer examineRangeType;

    @Schema(description = "考核周期 1月度 2季度 3上半年 4下半年5全年 6其他", example = "15614")
    private Integer examineCycleTypeId;

    @Schema(description = "考核周期开始时间")
    private String examineCycleStart;

    @Schema(description = "考核说明")
    private String examineIllustrate;

    @Schema(description = "评分上限")
    private Integer examineLimit;

    @Schema(description = "1未开始 2进行中 3已完成 4已归档")
    private Integer examineState;

    @Schema(description = "考核周期结束时间")
    private String examineCycleEnd;

    /**
     * 周期类型年
     */
    @Schema(description = "周期类型年")
    private String examineYear;

    /**
     * 周期类型月
     */
    @Schema(description = "周期类型月")
    private String examineCycleTimeType;


    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}